package com.lonni.rpc.core.loadbalance;

import com.lonni.rpc.core.model.RpcRequest;
import com.lonni.rpc.core.model.ServiceAddress;

import java.util.List;

/**
 * 负债均衡基类
 * @author: Lonni
 * @date: 2024/6/27 0027 14:48
 */
public interface BaseLoadbalance {

    /**
     * 通过负载均衡算法获取服务地址
     * @param uris 所有已注册的服务地址
     * @param request 请求数据
     * @return
     */
    ServiceAddress getServiceAddress(List<ServiceAddress> uris, RpcRequest request);

}
